package com.salesmanager.core.business.app.service;

import com.salesmanager.core.business.app.model.AndroidChannel;
import com.salesmanager.core.business.generic.exception.ServiceException;
import com.salesmanager.core.business.generic.service.SalesManagerEntityService;
import com.salesmanager.core.business.statistics.model.AppChannelCriteria;
import com.salesmanager.web.model.paging.PaginationDataList;

import java.util.List;

/**
 * Created by Liutong on 2016/1/13.
 */
public interface AppChannelService extends SalesManagerEntityService<Long, AndroidChannel> {

    /**
     *
     * @param criteria
     * @return
     */
    PaginationDataList<AndroidChannel> getAppChannelList(AppChannelCriteria criteria);

    /**
     *
     * @param channelCode
     * @return
     */
    AndroidChannel getByChannelCode(String channelCode) throws ServiceException;


    void saveOrUpdate(AndroidChannel androidChannel) throws ServiceException;

    void deleteById(Long channelId);

    List<AndroidChannel> getChannelCodes();
}
